//笔试强训：买卖股票的最好时机2

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> prices(n);
    for (auto& e : prices)
        cin >> e;
    vector<vector<int>> dp(n, vector<int>(2, 0));
    dp[0][0] = 0; dp[0][1] = -prices[0];
    for (int i = 1; i < n; i++)
    {
        dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] + prices[i]);
        dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] - prices[i]);
    }

    cout << dp[n - 1][0] << endl;
}